home *** CD-ROM | disk | FTP | other *** search
- 100 REM ANIMALS PROGRAM
- 110 REM
- 120 ONERR GOTO 1460
- 130 GOTO 980: REM INITILIZE
- 140 REM
- 150 REM PLAY THE GAME!
- 160 REM
- 170 CUR = 1
- 180 PRINT OP$
- 190 PRINT RF$;CUR
- 200 INPUT N$: IF LEFT$(N$,1) = "!" THEN 350
- 210 INPUT RP: INPUT WP
- 220 REM
- 230 REM NOW HAVE QUESTION TO ASK.
- 240 REM RP POINTS AT 'YES' RECORD
- 250 REM WP POINTS AT 'NO' RECORD
- 260 REM
- 270 PRINT CL$
- 280 PRINT : PRINT N$;: INPUT "?";A$
- 290 GOSUB 900: IF YN = 0 THEN 280
- 300 PREV = CUR
- 310 IF A$ = "Y" THEN CUR = RP
- 320 IF A$ = "N" THEN CUR = WP
- 330 GOTO 180
- 340 REM
- 350 REM FOUND AN ANIMAL, IS IT CORRECT?
- 360 REM
- 370 R$ = A$: REM REMEMBER THE ANSWER
- 380 PRINT CL$: REM CLOSE THE FILE
- 390 N$ = RIGHT$(N$, LEN(N$) -1)
- 400 A$ = "AEIOU": PRINT "IS THE ANIMAL YOU'RE THINKING OF A";
- 410 FOR VWL = 1 TO 5
- 420 IF MID$ (A$,VWL,VWL) = LEFT$(N$,1) THEN VWL = 5: PRINT "N";
- 430 NEXT VWL
- 440 PRINT : PRINT N$;: INPUT A$
- 450 GOSUB 900: IF YN = 0 THEN 400
- 460 IF A$ = "Y" THEN 800
- 470 REM
- 480 REM I DON'T KNOW WHAT ANIMAL IT IS, ASK HIM
- 490 REM
- 500 PRINT : PRINT : PRINT "ALL RIGHT, I GIVE UP. WHAT ANIMAL WERE"
- 510 PRINT "YOU THINKING OF";
- 520 INPUT ANIM$
- 530 PRINT : PRINT "PLEASE TYPE A QUESTION THAT WOULD"
- 540 PRINT "DISTINGUISH BETWEEN A ";N$: PRINT "AND A ";ANIM$;
- 550 INPUT ":";Q$:
- 560 IF RIGHT$(Q$,1) = "?" THEN Q$ = LEFT$(Q$, LEN(Q$) -1)
- 570 PRINT : PRINT "WHAT WOULD THE CORRECT ANSWER FOR A"
- 580 PRINT ANIM$;" BE";: INPUT A$
- 590 GOSUB 900: IF YN = 0 THEN 570
- 600 REM
- 610 REM UPDATE HEADER RECORD.
- 620 REM
- 630 PRINT OP$
- 640 PRINT RF$;0: INPUT CNT,LAST:CNT = CNT +1:LAST = LAST +2:
- 650 PRINT WF$;0: PRINT CNT;",";LAST
- 660 PRINT RF$;PREV: INPUT N$: INPUT OC: INPUT OW
- 670 PRINT WF$;PREV: PRINT N$
- 680 IF R$ = "N" THEN 700
- 690 PRINT LAST -1: PRINT OW: GOTO 710
- 700 PRINT OC: PRINT LAST -1
- 710 PRINT WF$;LAST -1: PRINT Q$
- 720 IF A$ = "Y" THEN 740
- 730 PRINT CUR: PRINT LAST: GOTO 750
- 740 PRINT LAST: PRINT CUR
- 750 PRINT WF$;LAST
- 760 PRINT "!" +ANIM$
- 770 PRINT CL$
- 780 PRINT "I NOW KNOW ";CNT;" ANIMALS!<CTRL-G>": GOTO 850
- 790 REM
- 800 REM I GOT IT RIGHT!!!
- 810 REM
- 820 FOR L = 1 TO 10: PRINT : NEXT L
- 830 PRINT "I GOT IT RIGHT!!!<CTRL-G><CTRL-G><CTRL-G><CTRL-G>"
- 840 REM
- 850 PRINT : INPUT "WANT TO PLAY AGAIN? ";A$
- 860 GOSUB 900: IF YN = 0 THEN 850
- 870 IF A$ = "Y" THEN 170
- 880 END
- 890 REM
- 900 REM CHECK FOR YES OR NO RESPONSE
- 910 YN = 0
- 920 IF LEN(A$) = 0 THEN RETURN
- 930 A$ = LEFT$(A$,1)
- 940 IF A$ = "Y" OR A$ = "y" THEN YN = 1:A$ = "Y"
- 950 IF A$ = "N" OR A$ = "n" THEN YN = 1:A$ = "N"
- 960 RETURN
- 970 REM
- 980 REM INITILIZATION SECTION
- 990 REM
- 1000 D$ = CHR$(4): HOME : TEXT
- 1010 RF$ = D$ +"READ ANIMALSFILE,R"
- 1020 WF$ = D$ +"WRITE ANIMALSFILE,R"
- 1030 CL$ = D$ +"CLOSE ANIMALSFILE"
- 1040 OP$ = D$ +"OPEN ANIMALSFILE,L80"
- 1050 PRINT
- 1060 PRINT "* NOTE<CTRL-G>: YOUR DISKETTE MAY NOT BE"
- 1070 PRINT "WRITE PROTECTED IN ORDER TO PLAY THIS": PRINT "GAME!"
- 1080 VTAB 5: PRINT " **** ANIMAL LEARNING GAME ****"
- 1090 PRINT
- 1100 PRINT "DO YOU WANT INSTRUCTIONS (Y OR N)";: INPUT A$: HOME
- 1110 IF LEN(A$) = 0 THEN 170
- 1120 GOSUB 900: IF A$ = "N" OR A$ = "n" THEN 170
- 1130 PRINT : PRINT "INSTRUCTIONS:": PRINT
- 1140 PRINT "YOU WILL THINK OF AN ANIMAL, AND I WILL"
- 1150 PRINT "TRY TO GUESS WHAT ANIMAL YOU ARE"
- 1160 PRINT "THINKING OF. I WILL DO THIS BY ASKING"
- 1170 PRINT "YOU A SERIES OF QUESTIONS ABOUT YOUR"
- 1180 PRINT "ANIMAL, TO WHICH YOU RESPOND EITHER"
- 1190 PRINT "YES OR NO. (ACTUALLY, A SIMPLE 'Y' OR"
- 1200 PRINT "'N' RESPONSE IS SUFFICIENT)"
- 1210 PRINT "IF I DO NOT GUESS WHAT YOUR ANIMAL IS,"
- 1220 PRINT "I WILL ASK YOU A FEW QUESTIONS SO THAT"
- 1230 PRINT "NEXT TIME I WILL KNOW WHAT YOUR ANIMAL"
- 1240 PRINT "IS.": PRINT
- 1250 PRINT "DO YOU WANT TO START A NEW GAME"
- 1260 PRINT "I.E. FORGET ALL PREVIOUS ANIMALS"
- 1270 INPUT "ANSWER 'YES' OR 'NO' ";A$: IF LEN(A$) = 0 THEN 170
- 1280 GOSUB 910: IF YN = 0 THEN GOTO 1270
- 1290 IF A$ = "N" OR A$ = "n" THEN 170
- 1300 REM
- 1310 REM CREATE A NEW DATA FILE
- 1320 REM
- 1330 PRINT OP$
- 1340 PRINT WF$;0
- 1350 PRINT "2,4"
- 1360 PRINT WF$;1
- 1370 PRINT "DOES IT LIVE IN THE WATER": PRINT 2: PRINT 3
- 1380 PRINT WF$;2
- 1390 PRINT "!FROG"
- 1400 PRINT WF$;3
- 1410 PRINT "!MOOSE"
- 1420 PRINT CL$
- 1430 GOTO 170
- 1440 REM
- 1450 REM ONERR PROCESSING ROUTINE
- 1460 REM
- 1470 ER = PEEK(222)
- 1480 IF ER = 255 THEN 1580
- 1490 IF ER = 7 THEN PRINT CL$: GOTO 1310: REM CREATE A NEW FILE
- 1500 IF ER = 3 THEN PRINT "NO DEVICE CONNECTED"
- 1510 IF ER = 2 THEN PRINT CL$: GOTO 1310: REM CREATE A NEW FILE
- 1520 IF ER = 6 THEN PRINT "DISK NOT FOUND"
- 1530 IF ER = 4 THEN PRINT "YOUR DISK IS WRITE PROTECTED"
- 1540 IF ER = 9 THEN PRINT "YOUR DISK IS FULL"
- 1550 IF ER = 10 THEN PRINT "YOUR ANIMALSFILE IS LOCKED"
- 1560 IF ER = 176 THEN PRINT "INPUT TOO LONG"
- 1570 INPUT "HIT 'RETURN' TO CONTINUE";A$
- 1580 HOME : REM END THE PROGRAM
- 1590 IF ER = 255 THEN PRINT "PLAYER PRESSED CONTROL-C"
- 1600 PRINT "PROGRAM ANIMALS FINISHED"
- 1610 PRINT CL$: END
- 1620 REM ***************************
- 1630 REM * *
- 1640 REM * ANIMALS *
- 1650 REM * PROGRAM THAT LEARNS *
- 1660 REM * ABOUT VARIOUS ANIMALS *
- 1670 REM * FROM THE USER. *
- 1680 REM * *
- 1690 REM * COPYRIGHT 1978 BY *
- 1700 REM * APPLE COMPUTER INC. *
- 1710 REM * *
- 1720 REM * UPDATED: OCTOBER 1983 *
- 1730 REM *************BY WHS********
- 1740 REM
- 1750 REM
- 1760 REM BASICALLY, THIS PROGRAM
- 1770 REM ILLUSTRATES THE USE OF A
- 1780 REM BINARY TREE STRUCTURE. SINCE
- 1790 REM THE ANSWER TO A QUESTION MUST
- 1800 REM EITHER BE A YES OR NO, WE
- 1810 REM WILL TRAVERSE THE TREE EITHER
- 1820 REM LEFT OR RIGHT. IF WE DO NOT
- 1830 REM GUESS THE ANIMAL CORRECTLY,
- 1840 REM WE SIMPLY GET THE NEW ANIMAL
- 1850 REM AND A QUESTION TO DISTINGUISH
- 1860 REM IT FROM OTHER ANIMALS, AND
- 1870 REM UPDATE THE TREE STRUCTURE.
- 1880 REM
- 1890 REM ORIGINAL PROGRAM IDEA:
- 1900 REM WHO KNOWS?
- 1910 REM
- 1920 REM COPYRIGHT 1978 APPLE COMPUTER INC.